﻿#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
#include <string>


//计算某字符出现次数
//https://www.nowcoder.com/questionTerminal/a35ce98431874e3a820dbe4b2d0508b1?orderByHotValue=1&questionTypes=000101&commentTags=Java
//int main()
//{
//    vector<int> v(98, 0);
//    string s;
//    char c;
//    while (getline(cin, s) && cin >> c)
//    {
//        for (const auto& n : s)
//        {
//            if (n >= 'a' && n <= 'z') { ++v[n - 32]; }
//            else { ++v[n]; }
//        }
//        if (c >= 'a' && c <= 'z') { cout << v[c - 32] << endl; }
//        else { cout << v[c] << endl; }
//    }
//    return 0;
//}

//杨辉三角的变形
//https://www.nowcoder.com/questionTerminal/8ef655edf42d4e08b44be4d777edbf43?pos=15&mutiTagIds=578_579_580&orderByHotValue=0&questionTypes=000100
int main() {
	int num = 0;
	while (cin >> num) {
		if (num < 3) {
			cout << -1 << endl;
		}
		else {
			if (num % 2 == 0) {
				int m = 1;
				//根据观察，偶数行的第一个偶数不是第三列就是第四列
				//根据规律求出偶数行的第三列数，如果不是偶数则第四列必是偶数
				for (int i = 2; i < num; ++i) {
					m += i;
				}
				if (m % 2 == 0) {
					cout << 3 << endl;
				}
				else {
					cout << 4 << endl;
				}
			}
			else { //由性质 第二行的数为num-1 则奇数行的偶数必在第二列
				cout << 2 << endl;
			}
		}
	}
	return 0;
}

//生成特殊杨辉三角并打印 - 调试用例
//int main()
//{
//	int n = 0;
//	while (cin >> n) 
//	{
//		vector<vector<unsigned long long>> vv(n, vector<unsigned long long>());
//		if (n < 3) { cout << -1 << endl; continue; }
//		vv[0].resize(1, 1);
//		vv[1].resize(3, 1);
//		for (int i = 2; i < n; ++i)
//		{
//			vv[i].resize((i+1)*2 - 1, 0);
//			vv[i][0] = vv[i][vv[i].size()-1]= 1;
//			vv[i][1] = vv[i][vv[i].size() - 2] = vv[i - 1][0] + vv[i - 1][1];
//			for (int k = 2; k < vv[i].size() - 2; ++k)
//			{
//				vv[i][k] = vv[i - 1][k - 2] + vv[i - 1][k-1] + vv[i - 1][k];
//			}
//		}
//		//打印杨辉三角
//		for (auto& v : vv)
//		{
//			for (auto& n : v)
//			{
//				cout << n << " ";
//			}
//			cout << endl<<endl;
//		}
//		//输出第一个偶数位置
//		for (int i = 0; i < vv[n - 1].size(); ++i)
//		{
//			if (vv[n - 1][i] % 2 == 0)
//			{
//				cout << i + 1 << endl;
//				break;
//			}
//		}
//	}
//}


